小编Plo*_*kko的帖子

Mysql工作台同步不同的数据库

我正在使用Mysql工作台为我的应用程序开发我的数据库.

我使用至少两个数据库,例如:

  • my_local:我的本地测试数据库,它总是与mysql workbench同步
  • myserver_database:服务器中的最终数据库,请记住,此数据库正在生产中,用户将更新它,我不能丢失存储在其中的任何信息.

现在我可以每次我想要同步我的数据库,但我找不到更新方案到最终服务器的方法因为它们有不同的名称,我得到类似的东西:

my_local => N/A
N/A      <= myserver_database
Run Code Online (Sandbox Code Playgroud)

在过去我只是在mysql工作台中重命名数据库,但它似乎不再工作,可能是因为一个错误.

我希望能够将相同的工作台方案与不同的数据库同步,无论数据库名称如何,即使修改default_scheme,我也没有找到强制数据库名称的方法.

请记住,我会做很多次,所以如果可能的话,最好避免使用混乱或危险的解决方案.

mysql database synchronization mysql-workbench mysql-gui-tools

7
推荐指数
1
解决办法
5138
查看次数

脚本onload/onerror与IE(用于延迟加载)问题

我重建我的延迟加载模块接受asyncronus请求,但我有一个很大的问题:
IE浏览器不支持script.onload/onerror的!

旧的脚本并在全球范围EVAL与AJAX同步调用读取目标脚本源,它工作得很好,它是跨浏览器,我可以把它异步编辑1个变量,但它是非常棘手的调试(所有的源代码在一个单一的执行线和浏览器不给予有关的错误太多的相关信息,将代码通过线与正则表达式是不可能的,因为JS有无限的深度和正则表达式块根本不擅长这一点).

这是我用来创建脚本的代码(经典):

var script = document.createElement('script');
script.type = 'text/javascript';
script.src =name;
script.name =name;
script.async = true;
script.onload=<my_onload_code>;
script.onerror=<my_onerror_code>;
Run Code Online (Sandbox Code Playgroud)

它不适用于IE,因为它不支持onload和onerror与脚本;
下面的代码是一个修复程序,但仅在脚本不是异步时才有效

if(script.onreadystatechange!==undefined)//only IE T_T
            script.onreadystatechange = function() {
                    if (script.readyState == 'loaded')//ERROR LOADING
                        <my_onerror_code>;
                    else
                    if(script.readyState == 'complete')//loaded
                        <my_onload_code>;

            };
Run Code Online (Sandbox Code Playgroud)

我可以每X毫秒测试一次,直到脚本加载,但这是一个丑陋的解决方案,我想避免它.

编辑:这是我试图检查每个X ms的代码,如果脚本加载,它不是那么糟糕,它比ajax更好;问题是,我不知道脚本是否加载成功或错误( onload或onerror).

var script = document.createElement('script');
script.type = 'text/javascript';
script.src =name;
script.name =name;
script.async = true;

    script.onload=function(){Lazy_loader.onload(this);};
    script.onerror=function(){Lazy_loader.onerror(this);};

    if(script.onreadystatechange!==undefined){//ie fix T_T 
        script.timer=setInterval(function(){
                    if (script.readyState == 'loaded' || script.readyState == 'complete')}//ERROR LOADING

                        if(LOADED???)//loaded
                            Lazy_loader.onload(script);
                        else
                            Lazy_loader.onerror(script);

                        clearInterval(script.timer); …
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer asynchronous lazy-loading

5
推荐指数
1
解决办法
2万
查看次数

将回调代码迁移到暂停功能

我正在使用协程将我的Android代码从Java重构为Kotlin,但是我没有找到一种简便的方法将基于回调的代码重写为暂停的函数。

一个基本的示例是返回结果的警报弹出窗口,在Javascript中将是这样的:

let value = prompt("please insert a value")
console.log("Value:"+value)
Run Code Online (Sandbox Code Playgroud)

我会在Kotlin中将其翻译为:

class MainActivity : Activity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        //Standard activity initialization
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //Actual code...
        launch {
            val value = resolvable<String>(UI) { success, error ->
                //Build a simple popup prompt with AlertDialog
                val input = EditText(this@MainActivity)

                val builder = AlertDialog.Builder(this@MainActivity)
                        .setTitle("please insert a value")
                        .setView(input)
                        .setPositiveButton("Ok",{ dialog, id ->
                            success(input.text.toString())//This lambda returns the value
                        })
                val dialog = builder.create()
                dialog.show()
            }
            println("Value:"+ value)
        }
        //...
    }
} …
Run Code Online (Sandbox Code Playgroud)

android suspend kotlin kotlin-coroutines

2
推荐指数
1
解决办法
743
查看次数