Comments (7)
The ruby string thing in the generator is iffy. I rarely get complicated strings like that right the first try, and on the command line I doubt it would work. I do still like the idea of a to_sql thing though.
What about an example in the README of generating the view in IRB with scopes, then printing the to_sql and throwing it in the view definition file (incidentally, this is how I'd recommend you do it).
from scenic.
Our name is better we can't give up.
from scenic.
This isn't a feature we're going to consider at this time. Thanks for the discussion, though.
from scenic.
We've talked about doing the same, but I have the same concerns as you. It boils down to the same reason you are discouraged from accessing external ActiveRecord models in your migrations - the underlying code can change or go away completely, leaving your migration in an invalid or incorrect state.
I could perhaps see a generator that accepts a ruby string which is then to_sql
d or something? Not really sure. To be honest, my intended use case for scenic
is one where you want to write SQL.
@calebthompson thoughts?
from scenic.
More broadly, on the schema_plus_views
gem: This gem did not exist separately from schema_plus
itself when we started this project. schema_plus
did things we didn't like, so we weren't comfortable trying to use it just for view support. It also didn't offer view versioning, like scenic
tries to.
Now that schema_plus_views
does exist, it may make sense to see if we could merge some of the ideas of scenic
into schema_plus_views
without breaking either. Food for thought anyway.
from scenic.
I don't know. I'm pretty happy with the gem as is. You guys did a great job making this. I looked at the pull requests for materialized views but I just don't have a need for them (selfish, I know).
from scenic.
Totally agree! SQL statements in the schema show how the view's being built - especially important since it relies on other tables in the database. I've been using the gem for a couple of months now and am very pleased with it.
from scenic.
Related Issues (20)
- getting error Scenic::Adapters::Postgres::MaterializedViewsNotSupportedError HOT 1
- Getting "Invalid single-table inheritance type" error when using a model based on a view HOT 2
- Sequences HOT 1
- Materialization is dumped to structure.rb incorrectly HOT 2
- Is it possible to make it work with Sinatra or any other Rack app? HOT 2
- schema.rb diff after running migrations HOT 2
- How to persist `'now'::timestamp` / prevent being computed with `rails db:migrate` HOT 3
- ERB.new warnings despite #360 HOT 2
- add a support for pg_ivm ? HOT 1
- Centralise and expose configurable db views folder HOT 5
- make update_view for materialized views create less downtime HOT 1
- Add support for a cache_key and/or cache_version HOT 1
- Ignore scripts outside `db/views` folder HOT 1
- Cannot replace materialized views HOT 2
- Old migration name affecting new view name HOT 10
- cannot rollback drop_view HOT 3
- Multiple databases, main DB is assumed even though it's specified in the model. Is there a better way? HOT 1
- Feature Request: Support Generated Columns HOT 1
- Support Rails' multiple database feature HOT 1
- Default to latest view definition for create_view HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scenic.