레일에서 단일 테이블을 실현하는 방법은 무엇입니까?
기본 키 값이 다시 1부터 시작되기를 원합니다.
SQLite에서 그런 다음 기본 키를 선택하십시오.
$ rails console
> ActiveRecord::Base.connection.execute("DELETE from sqlite_sequence where name = 'yourtablename'")
저와 같은 많은 사람들이 테이블의 모든 데이터를 삭제하는 방법을 찾기 위해 여기에 왔습니다. 여기 있습니다 :
$ rails console
> ModelName.delete_all
또는
> ModelName.destroy_all
destroy_all은 일련의 책을 확인하고 시간이 조금 더 있습니다. delete_all은 인벤토리 SQL 쿼리입니다.
자세한 정보 : http://apidock.com/rails/ActiveRecord/Base/delete_all/class
Rails 콘솔에서 다음을 사용하여 테이블의 모든 항목을 삭제 한 다음 깔린 카운터 (Ruby 2 및 Rails 4)를 사용할 수 있습니다.
> ModelName.delete_all
> ActiveRecord::Base.connection.reset_pk_sequence!('plural_model_name')
@khelll의 링크가 도움이됩니다. 하나의 테이블을 자르려는 명령은 다음과 가변합니다.
ActiveRecord::Base.connection.execute("TRUNCATE #{table_name}")
gem 'database_cleaner'
Gemfile에 추가하고 실행을 $ bundle install
한 후 다음을 수행하십시오.
> DatabaseCleaner.clean_with(:truncation, :only => ['yourtablename'])
더 많은 테이블을 이용할 수 있습니다.
> DatabaseCleaner.clean_with(:truncation, :only => ['table1', 'table2', 'table3'])
마지막 매개 변수를 그대로두면 전체 데이터베이스가 잘립니다.
> DatabaseCleaner.clean_with(:truncation) # your database is truncated
Rails 4.2부터 ActiveRecord 연결 에서 직접truncate
사용할 수 있습니다 .
ActiveRecord::Base.connection.truncate(:table_name)
이 모든 데이터를 하고 자동 증가 카운터를 표에합니다. MySQL 및 Postgres에서 작동하며 Sqlite 에서는 작동하지 않습니다 .
Rails 4.2.0 및 Sqlite3를 사용하고 있습니다.
저에게 도움이되는 것은 다음과 같습니다 (위의 모든 것에서 약간의 가져옴).
$ rails c
> ModelName.delete_all
> ActiveRecord::Base.connection.execute("DELETE from sqlite_sequence where name = 'table_name'")
그런 다음 계획가 1부터 시작하여 테이블에 새 레코드를 추가 할 수 있습니다.
나는 당신이 그렇게 할 수 있다고 생각하지 않습니다. 그러나 자신의 레이크 작업을 있습니다.
정보를 얻으려면 다음을 수행하여 사용 가능한 작업 목록을 얻을 수 있습니다.
rake --tasks
다음과 같은 내용이 표시됩니다.
rake backups:clear # Cleanup Backup files
rake clear # Cleanup temporary, log and backup files
rake db:fixtures:load # Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y
rake db:migrate # Migrate the database through scripts in db/migrate. Target specific version with VERSION=x
rake db:schema:dump # Create a db/schema.rb file that can be portably used against any DB supported by AR
rake db:schema:load # Load a schema.rb file into the database
rake db:sessions:clear # Clear the sessions table
rake db:sessions:create # Creates a sessions table for use with CGI::Session::ActiveRecordStore
rake db:structure:dump # Dump the database structure to a SQL file
rake db:test:clone # Recreate the test database from the current environment's database schema
rake db:test:clone_structure # Recreate the test databases from the development structure
rake db:test:prepare # Prepare the test database and load the schema
rake db:test:purge # Empty the test database
rake doc:app # Build the app HTML Files
rake doc:clobber_app # Remove rdoc products
rake doc:clobber_plugins # Remove plugin documentation
rake doc:clobber_rails # Remove rdoc products
rake doc:plugins # Generate documation for all installed plugins
rake doc:rails # Build the rails HTML Files
rake doc:reapp # Force a rebuild of the RDOC files
rake doc:rerails # Force a rebuild of the RDOC files
rake log:clear # Truncates all *.log files in log/ to zero bytes
rake rails:freeze:edge # Lock to latest Edge Rails or a specific revision with REVISION=X (ex: REVISION=4021) or a tag with TAG=Y (ex: TAG=rel_1-1-0)
rake rails:freeze:gems # Lock this application to the current gems (by unpacking them into vendor/rails)
rake rails:unfreeze # Unlock this application from freeze of gems or edge and return to a fluid use of system gems
rake rails:update # Update both configs, scripts and public/javascripts from Rails
rake rails:update:configs # Update config/boot.rb from your current rails install
rake rails:update:javascripts # Update your javascripts from your current rails install
rake rails:update:scripts # Add new scripts to the application script/ directory
rake stats # Report code statistics (KLOCs, etc) from the application
rake test # Test all units and functionals
rake test:functionals # Run the functional tests in test/functional
rake test:integration # Run the integration tests in test/integration
rake test:plugins # Run the plugin tests in vendor/plugins/**/test (or specify with PLUGIN=name)
rake test:recent # Test recent changes
rake test:uncommitted # Test changes since last checkin (only Subversion)
rake test:units # Run the unit tests in test/unit
rake tmp:assets:clear # Clears all files in tmp/test/assets
rake tmp:cache:clear # Clears all files and directories in tmp/cache
rake tmp:clear # Clear session, cache, and socket files from tmp/
rake tmp:create # Creates tmp directories for sessions, cache, and sockets
rake tmp:pids:clear # Clears all files in tmp/pids
rake tmp:sessions:clear # Clears all files in tmp/sessions
rake tmp:sockets:clear # Clears all files in tmp/sockets
데이터베이스가 Postgres 일 때이 질문에 대한 답을 찾는 다른 사람은 Rails 콘솔에서 다음을 수행 할 수 있습니다.
rails console
irb(main):028:0> ActiveRecord::Base.connection.execute("SELECT SETVAL('accounts_id_seq', 1)")
어디 accounts
에서이 accounts_id_seq
테이블의 이름입니다.
참고 URL : https://stackoverflow.com/questions/1921074/how-to-reset-a-single-table-in-rails
'IT' 카테고리의 다른 글
C # .NET 3.5에서 진행률 표시 줄의 색상을 변경하는 방법은 무엇입니까? (0) | 2020.09.17 |
---|---|
Ant 속성에서 문자 (0) | 2020.09.17 |
PHP에서 구성 파일 만들기 (0) | 2020.09.17 |
존재 대 구성 (0) | 2020.09.17 |
C #에서 공유 파일 경로를 만드는 방법이 있습니까? (0) | 2020.09.17 |