简体   繁体   中英

mysql2 in rails3 'table exits already' how to delete that?

I delete the project robin_offine for some reason and when I restart it and run

rake db:create,it claims:

robin_offline_development already exists  
robin_offline_test already exists  

ignore that and add migration named events

if rake db:migrate

Mysql2::Error: Table 'events' already exists(cuz i have done that last time)

The problem is ,I couldn't find where the table is

SHOW DATABASES;  
+--------------------+  
| Database           |  
+--------------------+  
| information_schema |    
| test               |  
+--------------------+   
2 rows in set (0.00 sec)

Even don't know which one to delete

sorry I'm new to mysql
the system is Ubuntu 12.04LTS

development:
adapter: mysql2
encoding: utf8
reconnect: false
database: robin_offline_development
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: robin_offline_test
  pool: 5
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: robin_offline_production
  pool: 5
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock

and my migration file is just what run

rails g model events    

nothing special

develop.log

Connecting to database specified by database.yml
Connecting to database specified by database.yml
  [1m[36m (1.1ms)[0m  [1mSELECT `schema_migrations`.`version` FROM `schema_migrations` [0m
Migrating to CreateEvents (20121213091145)
  [1m[35m (0.5ms)[0m  CREATE TABLE `events` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
Mysql2::Error: Table 'events' already exists: CREATE TABLE `events` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
Connecting to database specified by database.yml
  [1m[36m (1.1ms)[0m  [1mSELECT `schema_migrations`.`version` FROM `schema_migrations` [0m
Migrating to CreateEvents (20121213091145)
  [1m[35m (0.5ms)[0m  CREATE TABLE `events` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
Mysql2::Error: Table 'events' already exists: CREATE TABLE `events` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
Connecting to database specified by database.yml
  [1m[36m (1.9ms)[0m  [1mSELECT `schema_migrations`.`version` FROM `schema_migrations` [0m
Migrating to CreateEvents (20121213091145)
  [1m[35m (0.5ms)[0m  CREATE TABLE `events` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB
Mysql2::Error: Table 'events' already exists: CREATE TABLE `events` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL) ENGINE=InnoDB

I just run

rake db:drop

and do the migration again, all goes well again

and rails db to goto the database and do whatever you want.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM