Merge pull request #2 from liviu-lesan/tarantool

added possibility to delete spaces
This commit is contained in:
liviu-lesan 2022-02-09 10:44:28 +02:00 committed by GitHub
commit 4a36e5b0da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 97 additions and 14 deletions

3
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -0,0 +1,29 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="16">
<item index="0" class="java.lang.String" itemvalue="pymongo" />
<item index="1" class="java.lang.String" itemvalue="cryptoconditions" />
<item index="2" class="java.lang.String" itemvalue="python-rapidjson" />
<item index="3" class="java.lang.String" itemvalue="flask-restful" />
<item index="4" class="java.lang.String" itemvalue="packaging" />
<item index="5" class="java.lang.String" itemvalue="requests" />
<item index="6" class="java.lang.String" itemvalue="gunicorn" />
<item index="7" class="java.lang.String" itemvalue="pyyaml" />
<item index="8" class="java.lang.String" itemvalue="pytest-runner" />
<item index="9" class="java.lang.String" itemvalue="bigchaindb-abci" />
<item index="10" class="java.lang.String" itemvalue="flask-cors" />
<item index="11" class="java.lang.String" itemvalue="aiohttp" />
<item index="12" class="java.lang.String" itemvalue="logstats" />
<item index="13" class="java.lang.String" itemvalue="flask" />
<item index="14" class="java.lang.String" itemvalue="setproctitle" />
<item index="15" class="java.lang.String" itemvalue="jsonschema" />
</list>
</value>
</option>
</inspection_tool>
</profile>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

4
.idea/misc.xml generated Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (venv)" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/planetmint.iml" filepath="$PROJECT_DIR$/.idea/planetmint.iml" />
</modules>
</component>
</project>

15
.idea/planetmint.iml generated Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.8 (venv)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="py.test" />
</component>
</module>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -13,11 +13,22 @@ class TarantoolDB:
def init_tarantool(): def init_tarantool():
if os.path.exists(os.path.join(os.getcwd(), 'tarantool', 'init.lua')) is not True:
path = os.getcwd() path = os.getcwd()
run(["mkdir" , "tarantool"]) run(["mkdir" , "tarantool_snap"])
run(["ln","-s",path +"/init.lua","init.lua"] , path+"/tarantool") run(["ln","-s",path +"/init.lua","init.lua"] , path+"/tarantool_snap")
run (["tarantool" , "init.lua"] ,path+ "/tarantool") run (["tarantool" , "init.lua"] ,path+ "/tarantool")
else:
raise Exception("There is a instance of tarantool already created in %s" + os.getcwd() + "/tarantool_snap")
def drop_tarantool(): def drop_tarantool():
#TODO drop tarantool if os.path.exists(os.path.join(os.getcwd(), 'tarantool', 'init.lua')) is not True:
pass path = os.getcwd()
run(["ln","-s",path +"/drop_db.lua","drop_db.lua"] , path+"/tarantool_snap")
run (["tarantool" , "drop_db.lua"])
else:
raise Exception("There is no tarantool spaces to drop")

View File

@ -0,0 +1,5 @@
box.space.transactions.drop()
box.space.output.drop()
box.space.inputs.drop()
box.space.keys.drop()
box.snapshot()

View File

@ -13,7 +13,7 @@ import argparse
import copy import copy
import json import json
import sys import sys
from planetmint.backend.tarantool.database import TarantoolDB, init_tarantool from planetmint.backend.tarantool.database import TarantoolDB, drop_tarantool, init_tarantool
from planetmint.core import rollback from planetmint.core import rollback
from planetmint.migrations.chain_migration_election import ChainMigrationElection from planetmint.migrations.chain_migration_election import ChainMigrationElection
@ -259,18 +259,14 @@ def run_init(args):
@configure_planetmint @configure_planetmint
def run_drop(args): def run_drop(args):
"""Drop the database""" """Drop the database"""
dbname = planetmint.config['database']['name']
if not args.yes: if not args.yes:
response = input_on_stderr('Do you want to drop `{}` database? [y/n]: '.format(dbname)) response = input_on_stderr('Do you want to drop `{}` database? [y/n]: ')
if response != 'y': if response != 'y':
return return
conn = backend.connect() drop_tarantool()
try:
schema.drop_database(conn, dbname)
except DatabaseDoesNotExist:
print("Cannot drop '{name}'. The database does not exist.".format(name=dbname), file=sys.stderr)
def run_recover(b): def run_recover(b):