Truncate table(s) with rails console

前端 未结 9 1340
北恋
北恋 2021-02-02 05:51

I have this testingdatabase which, by now, is stuffed with junk. Now I\'ve done a few Table.destroy_all commands in the rails console which deletes all records and dependencies

9条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-02 06:10

    I used below code to truncate all tables

    ActiveRecord::Base.establish_connection
    ActiveRecord::Base.connection.tables.each do |table|
      next if table == 'schema_migrations'
    
      case ActiveRecord::Base.connection.adapter_name.downcase.to_sym
        when :mysql2 , :postgresql
          ActiveRecord::Base.connection.execute("TRUNCATE #{table}")
          ActiveRecord::Base.connection.execute("TRUNCATE #{table} RESTART IDENTITY")
        when :sqlite
          ActiveRecord::Base.connection.execute("DELETE FROM #{table}")
      end
    end
    

提交回复
热议问题