I have a model & amp; A table which is no longer needed in my app, I can leave them there but I would like to remove them to keep them clean.
I'm trying to figure out the best way to get them out of my migration & amp; DB / Schema RB files & amp; This can be any side effects in my production environment, my app is on Heroka, I am using PostgreSQL on my local machine and on both; So far, I have found two ways to do this, but I am not sure who is the best way? I thought about going to my database; Leaving the table & amp; Then destroyed the model. If I do this then what will happen to me for migration? Table? I have two migration for this model, a timestamp_create_model name & amp; An add_attribute_to_table name Will this method be updated in the DB / SchemaRb file? When I put the app in Harkaku, I suspect that the model will be removed, but the table will remain in place, there is a command to leave the table. In another way I have read that to leave the table was to create a new migration & amp; Then destroy the model. & amp; Then update the file below: db / migrate / timestamp_drop_tablename (reply to Dan Witch's reply has been updated in response) & amp; Then in the terminal: This is the best way, but what happens to old migration files? Will they stay & amp; Update DB / SHAMA Every time I run Rake DB: is to migrate only to DB / migrate / timestamp_drop_tablename override? I am happy to experiment with the second method, but someone should experience with someone in & amp; Tell me the railway route to do this The other way is the ideal way to handle: Your migration files Your database has to be changed over time The old migration file will be in your project (if you want to roll back to an earlier version, you hypothetically), but when you Your schema. RB will be updated only once that your database is no longer in that table. One minor changes to your code: Your migration file should leave the table in the Method 1
Rail DB drop table table_name \ q Removing rail model model_name
Method Two
Rail Migration drop_base name
class DropTablename & Lt; ActiveRecord :: Migration def up drop_table: tablename end def to create_table: tablename do | T | T.string: table_column t.references: other tables t.timestamps end add_index: tablenames, anothertable_id end and
rake db: delete the migrated rail model model ram db: migrate git add git commit -m "deleted table / model_name" git has its Koku master Heroku run rake db Pushed: migrate to restart
rake db: migrate will not run because the railways know Received that they are already running the same (based on data Skima_magreshn table of the database) is.
above method, and recreate it in the
down method. The "above" indicates that your migration leaves the table to advance in time, and if the migration is brought back, then the
down method will run.
No comments:
Post a Comment